package com.gt.web.srv.web.api.command;

import com.gt.web.api.common.PageBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <p>
 * GetProductionByClassifyId
 * </p>
 *
 * @author: WeiHuan
 * @version:1.0
 * @date: 2024/5/27 14:16
 * 注意：本内容仅限于公司内部传阅，禁止外泄以及用于其他的商业目的
 */

@Data
@ApiModel(description = "维修申请单",value = "维修申请单")
public class RepairApplicationCommand extends PageBase {

	@ApiModelProperty(value = "维修申请ID")
	private Long repairId;              // 维修申请ID

	@ApiModelProperty(value = "小程序用户ID", required = true)
	private Long userId;                // 小程序用户ID

	@ApiModelProperty(value = "申请人姓名", required = true, example = "张三")
	private String applicantName;       // 申请人姓名

	@ApiModelProperty(value = "申请人联系电话", required = true, example = "152-0189-9448")
	private String phone;               // 申请人联系电话

	@ApiModelProperty(value = "回寄地址（商品修复后的寄回地址）", required = true,
			example = "上海上海市闵行区1200号")
	private String returnAddress;       // 回寄地址

	@ApiModelProperty(value = "维修数量（默认1件）", example = "1")
	private Integer repairQuantity;     // 维修数量

	@ApiModelProperty(value = "购买渠道（如：抖音、淘宝等）", required = true, example = "抖音")
	private String purchaseChannel;     // 购买渠道

	@ApiModelProperty(value = "原始订单号", required = true, example = "202508019385392003")
	private String orderNumber;         // 原始订单号

	@ApiModelProperty(value = "问题描述（用户提交的故障详情）", example = "袖口开裂")
	private String problemDescription;  // 问题描述

	@ApiModelProperty(value = "邮寄地址（用户需寄送商品的地址）", required = true,
			example = "上海市闵行区春申路1200号")
	private String mailingAddress;      // 邮寄地址

	@ApiModelProperty(value = "快递单号（用户邮寄时填写的物流单号）", example = "SF123456789")
	private String trackingNumber;      // 快递单号

	@ApiModelProperty(value = "状态: 1(审核中)/2(待邮寄)/3(已收货)/4(已回寄)/5(审核不通过)",example = "1")
	private Integer status;             // 状态

	@ApiModelProperty(value = "维修图片")
	private List<RepairApplicationImageDto> imageDtos;

	@Data
	public static class RepairApplicationImageDto {
		@ApiModelProperty(value = "图片类型：1(产品图)/2(损坏处图)/3(购物凭证)/4(其他)")
		private Integer imageType;
		@ApiModelProperty(value = "图片URL")
		private String imageUrl;
	}
}
